package j.util.jdbc.simple.core;

import j.util.jdbc.simple.metadata.TableMetaData;

/**
 * SQL数据中心，这里包含了表的元数据信息、insert/update/query/delete的sql语句的生成类实例
 * 每个实体对应一个SQLData实例
 * @author 刘军海
 * @version Sep 13, 2011 11:31:56 AM
 */
public class SQLData {

	//表元数据信息
	private TableMetaData tmd;
	//表的insert操作
	private SQLForInsert sqlInsert;
	//表的delete操作
	private SQLForDelete sqlDelete;
	//表的查询操作
	private SQLForQuery sqlQuery;
	//表的更新操作
	private SQLForUpdate sqlUpdate;
	
	public SQLData(TableMetaData tmd){
		this.tmd = tmd;
		this.sqlInsert = new SQLForInsert(tmd);
		this.sqlDelete = new SQLForDelete(tmd);
		this.sqlQuery = new SQLForQuery(tmd);
		this.sqlUpdate = new SQLForUpdate(tmd);
	}
	public TableMetaData getTmd() {
		return tmd;
	}
	/**
	 * 获取表的insert操作语句生成器
	 * @return
	 */
	public SQLForInsert getSqlInsert() {
		return sqlInsert;
	}
	/**
	 * 获取表的Delete操作语句生成器
	 * @return
	 */
	public SQLForDelete getSqlDelete(){
		return sqlDelete;
	}
	/**
	 * 获取表的查询操作的语句生成器
	 * @return
	 */
	public SQLForQuery getSqlQuery(){
		return sqlQuery;
	}
	/**
	 * 获取更新sql语句生成器
	 * @return
	 */
	public SQLForUpdate getSqlUpdate() {
		return sqlUpdate;
	}
}
